/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.uefs.cedoc.controle.estante;

import br.uefs.cedoc.controle.Command;
import br.uefs.cedoc.controle.CommandException;
import br.uefs.cedoc.controle.CommandToken;
import br.uefs.cedoc.db.exception.DBConnectionException;
import br.uefs.cedoc.db.estante.DBEstante;
import br.uefs.cedoc.entidades.EstanteBean;
import br.uefs.cedoc.entidades.SerieBean;
import br.uefs.cedoc.excecao.DocRepositoryException;
import java.sql.SQLException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

/**
 *
 * @author suporte
 */
public class AddEstanteCommand implements Command {
    
    private String next;
    
    public AddEstanteCommand(String next) {
        this.next = next;
    }
    
    public String execute(HttpServletRequest req)
    throws CommandException {
        try {
            if(CommandToken.isValid(req)){
            DBEstante dbestante = new DBEstante();
            EstanteBean estante = new EstanteBean();
            HttpSession session = req.getSession(true);
            SerieBean serie = (SerieBean)session.getAttribute("serie");
            estante.setIdEstante(Integer.parseInt(req.getParameter("idestante")));
            estante.setEstante(req.getParameter("descricao"));
            estante.setIdSerie(serie.getIdSerie());
            //pegar tb a serie
            dbestante.criarEstanteCivel(estante);
            req.setAttribute("status.msg", "Estante adicionada!");
            }
            else{
                req.setAttribute("status.msg", "Nao foi possivel adicionar!");
            }
            
            }catch (DocRepositoryException ex) {
                ex.printStackTrace();
            }catch (DBConnectionException ex) {
                ex.printStackTrace();
            }
        return next;

    }
}

